import axios from 'axios'
import { message } from 'antd';
const instance = axios.create({
  baseURL:"https://32hxt1b8.lc-cn-n1-shared.com/1.1",
  headers:{
    "X-LC-Id": "32hXT1b8eLTCpM60PofVgaoX-gzGzoHsz",
    "X-LC-Key": "I79Z8cdgin8IuFpIK3qK0eEI",
    "Content-Type": "application/json"
  }
})

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  let {method,url} = config
  if(method==='put'&&url.indexOf('/users')!=-1){
    let info = localStorage.getItem('userInfo') || sessionStorage.getItem('userInfo')
    let {sessionToken} = JSON.parse(info)
    config.headers['X-LC-Session'] = sessionToken
  }
  console.log('请求拦截器',config);
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

let statusList = {
  '201':{
    type:'success',
    msg:'操作成功'
  },
  '200':{
    type:'success',
    msg:'操作成功'
  },
  '400':{
    type:'error',
    msg:'操作失败'
  }
}

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  console.log('响应拦截器',response);
  let {status} = response
  let {type,msg} = statusList[status]
  message[type](msg)
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default instance